#include "grafo.h"
#include "kl.h"
#include "multinivel.h"
#include <ctime>

#include "particao.h"

void le_input(Grafo &grafo);
void verificafb(int * p, int n);

int main (void){
  
  Grafo grafo;
  
  double fatorB = 2.0/3;
  
  srand(time(NULL));

  le_input(grafo);
  
  //printf("Li -- %d\n", grafo.adj.size());
  
  Multinivel objMult(&grafo, 0);
  
  verificafb(grafo.pOtima, grafo.adj.size());

  return 0;
}

void le_input(Grafo &grafo){

  int n, m;
  
  scanf("%d %d", &n, &m);
  getchar();  

  grafo.vPeso = (int *) malloc(n * sizeof(int));
  
  vizinho viz;
  for(int i = 0; i < n; ++i){

    int g = 0;
    vector<vizinho> t;
    grafo.adj.push_back(t);

    grafo.vPeso[i] = 1;

    while(1){

      int v;
      char c;

      scanf("%d%c", &v, &c);

      viz.v = v-1;
      viz.peso = 1; 

      grafo.adj[i].push_back(viz);
      g++;

      if(c == '\n') break;
    }
  }
}

void verificafb(int * p, int n){

  double soma;

  for(int i = 0; i < n; ++i){soma += p[i];}

    printf("\nBalanceamento = %f\n", (soma *1.00)/n);
}
